package org.apache.commons.compress.archivers.zip; class ExplodingInputStream { void a() { int a;
a=0;// .class Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;
a=0;// .super Ljava/io/InputStream;
a=0;// .source "ExplodingInputStream.java"
a=0;// 
a=0;// 
a=0;// # instance fields
a=0;// .field private final a:Ljava/io/InputStream;
a=0;// 
a=0;// .field private b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;// .field private final c:I
a=0;// 
a=0;// .field private final d:I
a=0;// 
a=0;// .field private final e:I
a=0;// 
a=0;// .field private f:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;// .field private g:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;// .field private h:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;// .field private final i:Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;// 
a=0;// # direct methods
a=0;// .method public constructor <init>(IILjava/io/InputStream;)V
a=0;//     .locals 2
a=0;// 
a=0;//     .prologue
a=0;//     .line 73
a=0;//     invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
a=0;// 
a=0;//     .line 63
a=0;//     #p0=(Reference,Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;);
a=0;//     new-instance v0, Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;//     #v0=(UninitRef,Lorg/apache/commons/compress/archivers/zip/CircularBuffer;);
a=0;//     invoke-direct {v0}, Lorg/apache/commons/compress/archivers/zip/CircularBuffer;-><init>()V
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/CircularBuffer;);
a=0;//     iput-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->i:Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;//     .line 74
a=0;//     const/16 v0, 0x1000
a=0;// 
a=0;//     #v0=(PosShort);
a=0;//     if-eq p1, v0, :cond_0
a=0;// 
a=0;//     const/16 v0, 0x2000
a=0;// 
a=0;//     if-eq p1, v0, :cond_0
a=0;// 
a=0;//     .line 75
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "The dictionary size must be 4096 or 8192"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     .line 77
a=0;//     :cond_0
a=0;//     #v0=(PosShort);v1=(Uninit);
a=0;//     const/4 v0, 0x2
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     if-eq p2, v0, :cond_1
a=0;// 
a=0;//     const/4 v0, 0x3
a=0;// 
a=0;//     if-eq p2, v0, :cond_1
a=0;// 
a=0;//     .line 78
a=0;//     new-instance v0, Ljava/lang/IllegalArgumentException;
a=0;// 
a=0;//     #v0=(UninitRef,Ljava/lang/IllegalArgumentException;);
a=0;//     const-string v1, "The number of trees must be 2 or 3"
a=0;// 
a=0;//     #v1=(Reference,Ljava/lang/String;);
a=0;//     invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
a=0;// 
a=0;//     #v0=(Reference,Ljava/lang/IllegalArgumentException;);
a=0;//     throw v0
a=0;// 
a=0;//     .line 80
a=0;//     :cond_1
a=0;//     #v0=(PosByte);v1=(Uninit);
a=0;//     iput p1, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->c:I
a=0;// 
a=0;//     .line 81
a=0;//     iput p2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->d:I
a=0;// 
a=0;//     .line 82
a=0;//     iput p2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->e:I
a=0;// 
a=0;//     .line 83
a=0;//     iput-object p3, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->a:Ljava/io/InputStream;
a=0;// 
a=0;//     .line 84
a=0;//     return-void
a=0;// .end method
a=0;// 
a=0;// 
a=0;// # virtual methods
a=0;// .method public read()I
a=0;//     .locals 6
a=0;// 
a=0;//     .prologue
a=0;//     const/16 v2, 0x40
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     const/16 v5, 0x8
a=0;// 
a=0;//     #v5=(PosByte);
a=0;//     const/4 v4, -0x1
a=0;// 
a=0;//     .line 106
a=0;//     #v4=(Byte);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->i:Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/CircularBuffer;);
a=0;//     invoke-virtual {v0}, Lorg/apache/commons/compress/archivers/zip/CircularBuffer;->a()Z
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Boolean);
a=0;//     if-nez v0, :cond_2
a=0;// 
a=0;//     .line 107
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     if-nez v0, :cond_1
a=0;// 
a=0;//     iget v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->d:I
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/4 v1, 0x3
a=0;// 
a=0;//     #v1=(PosByte);
a=0;//     if-ne v0, v1, :cond_0
a=0;// 
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->a:Ljava/io/InputStream;
a=0;// 
a=0;//     #v0=(Reference,Ljava/io/InputStream;);
a=0;//     const/16 v1, 0x100
a=0;// 
a=0;//     #v1=(PosShort);
a=0;//     invoke-static {v0, v1}, Lorg/apache/commons/compress/archivers/zip/BinaryTree;->a(Ljava/io/InputStream;I)Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     iput-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->f:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     :cond_0
a=0;//     #v0=(Conflicted);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->a:Ljava/io/InputStream;
a=0;// 
a=0;//     #v0=(Reference,Ljava/io/InputStream;);
a=0;//     invoke-static {v0, v2}, Lorg/apache/commons/compress/archivers/zip/BinaryTree;->a(Ljava/io/InputStream;I)Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     iput-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->g:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->a:Ljava/io/InputStream;
a=0;// 
a=0;//     invoke-static {v0, v2}, Lorg/apache/commons/compress/archivers/zip/BinaryTree;->a(Ljava/io/InputStream;I)Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     move-result-object v0
a=0;// 
a=0;//     iput-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->h:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     new-instance v0, Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v0=(UninitRef,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     iget-object v1, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->a:Ljava/io/InputStream;
a=0;// 
a=0;//     #v1=(Reference,Ljava/io/InputStream;);
a=0;//     invoke-direct {v0, v1}, Lorg/apache/commons/compress/archivers/zip/BitStream;-><init>(Ljava/io/InputStream;)V
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     iput-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     :cond_1
a=0;//     #v1=(Conflicted);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     invoke-virtual {v0}, Lorg/apache/commons/compress/archivers/zip/BitStream;->a()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/4 v1, 0x1
a=0;// 
a=0;//     #v1=(One);
a=0;//     if-ne v0, v1, :cond_4
a=0;// 
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->f:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/BinaryTree;);
a=0;//     if-eqz v0, :cond_3
a=0;// 
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->f:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     iget-object v1, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v1=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     invoke-virtual {v0, v1}, Lorg/apache/commons/compress/archivers/zip/BinaryTree;->a(Lorg/apache/commons/compress/archivers/zip/BitStream;)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     :goto_0
a=0;//     #v0=(Integer);v1=(Conflicted);
a=0;//     if-eq v0, v4, :cond_2
a=0;// 
a=0;//     iget-object v1, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->i:Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;//     #v1=(Reference,Lorg/apache/commons/compress/archivers/zip/CircularBuffer;);
a=0;//     invoke-virtual {v1, v0}, Lorg/apache/commons/compress/archivers/zip/CircularBuffer;->a(I)V
a=0;// 
a=0;//     .line 110
a=0;//     :cond_2
a=0;//     :goto_1
a=0;//     #v1=(Conflicted);v2=(Conflicted);v3=(Conflicted);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->i:Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/CircularBuffer;);
a=0;//     invoke-virtual {v0}, Lorg/apache/commons/compress/archivers/zip/CircularBuffer;->b()I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     return v0
a=0;// 
a=0;//     .line 107
a=0;//     :cond_3
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/BinaryTree;);v1=(One);v2=(PosByte);v3=(Uninit);
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     invoke-virtual {v0, v5}, Lorg/apache/commons/compress/archivers/zip/BitStream;->a(I)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     goto :goto_0
a=0;// 
a=0;//     :cond_4
a=0;//     if-nez v0, :cond_2
a=0;// 
a=0;//     iget v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->c:I
a=0;// 
a=0;//     const/16 v1, 0x1000
a=0;// 
a=0;//     #v1=(PosShort);
a=0;//     if-ne v0, v1, :cond_7
a=0;// 
a=0;//     const/4 v0, 0x6
a=0;// 
a=0;//     :goto_2
a=0;//     #v0=(PosByte);
a=0;//     iget-object v1, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v1=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     invoke-virtual {v1, v0}, Lorg/apache/commons/compress/archivers/zip/BitStream;->a(I)I
a=0;// 
a=0;//     move-result v1
a=0;// 
a=0;//     #v1=(Integer);
a=0;//     iget-object v2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->h:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     #v2=(Reference,Lorg/apache/commons/compress/archivers/zip/BinaryTree;);
a=0;//     iget-object v3, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v3=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     invoke-virtual {v2, v3}, Lorg/apache/commons/compress/archivers/zip/BinaryTree;->a(Lorg/apache/commons/compress/archivers/zip/BitStream;)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     if-ne v2, v4, :cond_5
a=0;// 
a=0;//     if-lez v1, :cond_2
a=0;// 
a=0;//     :cond_5
a=0;//     shl-int v0, v2, v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     or-int/2addr v1, v0
a=0;// 
a=0;//     iget-object v0, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->g:Lorg/apache/commons/compress/archivers/zip/BinaryTree;
a=0;// 
a=0;//     #v0=(Reference,Lorg/apache/commons/compress/archivers/zip/BinaryTree;);
a=0;//     iget-object v2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v2=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     invoke-virtual {v0, v2}, Lorg/apache/commons/compress/archivers/zip/BinaryTree;->a(Lorg/apache/commons/compress/archivers/zip/BitStream;)I
a=0;// 
a=0;//     move-result v0
a=0;// 
a=0;//     #v0=(Integer);
a=0;//     const/16 v2, 0x3f
a=0;// 
a=0;//     #v2=(PosByte);
a=0;//     if-ne v0, v2, :cond_6
a=0;// 
a=0;//     iget-object v2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->b:Lorg/apache/commons/compress/archivers/zip/BitStream;
a=0;// 
a=0;//     #v2=(Reference,Lorg/apache/commons/compress/archivers/zip/BitStream;);
a=0;//     invoke-virtual {v2, v5}, Lorg/apache/commons/compress/archivers/zip/BitStream;->a(I)I
a=0;// 
a=0;//     move-result v2
a=0;// 
a=0;//     #v2=(Integer);
a=0;//     add-int/2addr v0, v2
a=0;// 
a=0;//     :cond_6
a=0;//     iget v2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->e:I
a=0;// 
a=0;//     add-int/2addr v0, v2
a=0;// 
a=0;//     iget-object v2, p0, Lorg/apache/commons/compress/archivers/zip/ExplodingInputStream;->i:Lorg/apache/commons/compress/archivers/zip/CircularBuffer;
a=0;// 
a=0;//     #v2=(Reference,Lorg/apache/commons/compress/archivers/zip/CircularBuffer;);
a=0;//     add-int/lit8 v1, v1, 0x1
a=0;// 
a=0;//     invoke-virtual {v2, v1, v0}, Lorg/apache/commons/compress/archivers/zip/CircularBuffer;->a(II)V
a=0;// 
a=0;//     goto :goto_1
a=0;// 
a=0;//     :cond_7
a=0;//     #v1=(PosShort);v2=(PosByte);v3=(Uninit);
a=0;//     const/4 v0, 0x7
a=0;// 
a=0;//     #v0=(PosByte);
a=0;//     goto :goto_2
a=0;// .end method
}}
